package com.jkkc.lib.base.entry;

import androidx.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Ignore;

import java.util.List;

@Entity(tableName = "jkkc_achievement", primaryKeys = {"exam_number", "project_num"})
public class Score {

    @NonNull
    @ColumnInfo(name = "exam_number")
    private String examNumber;//学号
    @ColumnInfo(name = "plan_id")
    private String planId;//计划ID
    @NonNull
    @ColumnInfo(name = "project_num")
    private String projectNum;//项目编号
    @ColumnInfo(name = "achievement")
    private String achievement;//成绩
    @ColumnInfo(name = "state")
    private String state;//测试状态 成绩上传状态 1 未上传  2已上传
    @ColumnInfo(name = "video_path")
    private String videoPath;

    @ColumnInfo(name = "create_time")
    private String createTime;//创建时间 yyyy-MM-dd HH:mm:ss
    @ColumnInfo(name = "update_time")
    private String updateTime;
    @ColumnInfo(name = "start_time")
    private String startTime;//开始测试时间 yyyy-MM-dd HH:mm:ss
    @ColumnInfo(name = "end_time")
    private String endTime;//结束测试时间 yyyy-MM-dd HH:mm:ss

    @NonNull
    @ColumnInfo(name = "bx_num")
    private String bxNum; //背心号

    @NonNull
    @ColumnInfo(name = "student_code")
    private String studentCode = "0";//学生唯一码(体测卡号)

    @ColumnInfo(name = "passing_time")
    private String passingTime;//每次过圈时间（包含前面圈数时间），用#隔开 如01:20#02:10#03:52

    @ColumnInfo(name = "test_time")
    private long testTime = 0;//跑完全程耗时，单位：毫秒

    @Ignore
    private List<String> progressData;
    @Ignore
    private String qs;
    @Ignore
    private String stuName;
    @Ignore
    private String sex;
    @Ignore
    private String maxQs;
    @Ignore
    private String projectName;//项目名称
    /**
     * 过圈时间（根据精度设置，切割 {@link Score#passingTime}
     */
    @Ignore
    private String passTime;
    /**
     * 评分
     */
    @Ignore
    private String mark;
    /**
     * 等级
     */
    @Ignore
    private String level;

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Score() {
    }

    public String getExamNumber() {
        return examNumber;
    }

    public void setExamNumber(String examNumber) {
        this.examNumber = examNumber;
    }

    public String getPlanId() {
        return planId;
    }

    public void setPlanId(String planId) {
        this.planId = planId;
    }

    public String getProjectNum() {
        return projectNum;
    }

    public void setProjectNum(String projectNum) {
        this.projectNum = projectNum;
    }

    public String getAchievement() {
        return achievement;
    }

    public void setAchievement(String achievement) {
        this.achievement = achievement;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getVideoPath() {
        return videoPath;
    }

    public void setVideoPath(String videoPath) {
        this.videoPath = videoPath;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public List<String> getProgressData() {
        return progressData;
    }

    public void setProgressData(List<String> progressData) {
        this.progressData = progressData;
    }

    public String getQs() {
        return qs;
    }

    public void setQs(String qs) {
        this.qs = qs;
    }

    public String getMaxQs() {
        return maxQs;
    }

    public void setMaxQs(String maxQs) {
        this.maxQs = maxQs;
    }

    @NonNull
    public String getBxNum() {
        return bxNum;
    }

    public void setBxNum(@NonNull String bxNum) {
        this.bxNum = bxNum;
    }

    public String getStudentCode() {
        return studentCode;
    }

    public void setStudentCode(String studentCode) {
        this.studentCode = studentCode;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getPassingTime() {
        return passingTime;
    }

    public void setPassingTime(@NonNull String passingTime) {
        this.passingTime = passingTime;
    }

    public long getTestTime() {
        return testTime;
    }

    public void setTestTime(long testTime) {
        this.testTime = testTime;
    }

    public String getPassTime() {
        return passTime;
    }

    public void setPassTime(String passTime) {
        this.passTime = passTime;
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    @Override
    public String toString() {
        return "Score{" +
                "examNumber='" + examNumber + '\'' +
                ", planId='" + planId + '\'' +
                ", projectNum='" + projectNum + '\'' +
                ", achievement='" + achievement + '\'' +
                ", state='" + state + '\'' +
                ", videoPath='" + videoPath + '\'' +
                ", createTime='" + createTime + '\'' +
                ", updateTime='" + updateTime + '\'' +
                ", startTime='" + startTime + '\'' +
                ", endTime='" + endTime + '\'' +
                ", bxNum='" + bxNum + '\'' +
                ", studentCode='" + studentCode + '\'' +
                ", passingTime='" + passingTime + '\'' +
                ", testTime=" + testTime +
                ", progressData=" + progressData +
                ", qs='" + qs + '\'' +
                ", stuName='" + stuName + '\'' +
                ", sex='" + sex + '\'' +
                ", maxQs='" + maxQs + '\'' +
                ", projectName='" + projectName + '\'' +
                ", passTime='" + passTime + '\'' +
                ", mark='" + mark + '\'' +
                ", level='" + level + '\'' +
                '}';
    }
}
